package com.zlt.bkparking.entity;

import java.util.ArrayList;
import java.util.List;

public class BackUserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BackUserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andBuIdIsNull() {
            addCriterion("bu_id is null");
            return (Criteria) this;
        }

        public Criteria andBuIdIsNotNull() {
            addCriterion("bu_id is not null");
            return (Criteria) this;
        }

        public Criteria andBuIdEqualTo(Long value) {
            addCriterion("bu_id =", value, "buId");
            return (Criteria) this;
        }

        public Criteria andBuIdNotEqualTo(Long value) {
            addCriterion("bu_id <>", value, "buId");
            return (Criteria) this;
        }

        public Criteria andBuIdGreaterThan(Long value) {
            addCriterion("bu_id >", value, "buId");
            return (Criteria) this;
        }

        public Criteria andBuIdGreaterThanOrEqualTo(Long value) {
            addCriterion("bu_id >=", value, "buId");
            return (Criteria) this;
        }

        public Criteria andBuIdLessThan(Long value) {
            addCriterion("bu_id <", value, "buId");
            return (Criteria) this;
        }

        public Criteria andBuIdLessThanOrEqualTo(Long value) {
            addCriterion("bu_id <=", value, "buId");
            return (Criteria) this;
        }

        public Criteria andBuIdIn(List<Long> values) {
            addCriterion("bu_id in", values, "buId");
            return (Criteria) this;
        }

        public Criteria andBuIdNotIn(List<Long> values) {
            addCriterion("bu_id not in", values, "buId");
            return (Criteria) this;
        }

        public Criteria andBuIdBetween(Long value1, Long value2) {
            addCriterion("bu_id between", value1, value2, "buId");
            return (Criteria) this;
        }

        public Criteria andBuIdNotBetween(Long value1, Long value2) {
            addCriterion("bu_id not between", value1, value2, "buId");
            return (Criteria) this;
        }

        public Criteria andBuUsernameIsNull() {
            addCriterion("bu_username is null");
            return (Criteria) this;
        }

        public Criteria andBuUsernameIsNotNull() {
            addCriterion("bu_username is not null");
            return (Criteria) this;
        }

        public Criteria andBuUsernameEqualTo(String value) {
            addCriterion("bu_username =", value, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameNotEqualTo(String value) {
            addCriterion("bu_username <>", value, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameGreaterThan(String value) {
            addCriterion("bu_username >", value, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("bu_username >=", value, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameLessThan(String value) {
            addCriterion("bu_username <", value, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameLessThanOrEqualTo(String value) {
            addCriterion("bu_username <=", value, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameLike(String value) {
            addCriterion("bu_username like", value, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameNotLike(String value) {
            addCriterion("bu_username not like", value, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameIn(List<String> values) {
            addCriterion("bu_username in", values, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameNotIn(List<String> values) {
            addCriterion("bu_username not in", values, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameBetween(String value1, String value2) {
            addCriterion("bu_username between", value1, value2, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuUsernameNotBetween(String value1, String value2) {
            addCriterion("bu_username not between", value1, value2, "buUsername");
            return (Criteria) this;
        }

        public Criteria andBuPasswordIsNull() {
            addCriterion("bu_password is null");
            return (Criteria) this;
        }

        public Criteria andBuPasswordIsNotNull() {
            addCriterion("bu_password is not null");
            return (Criteria) this;
        }

        public Criteria andBuPasswordEqualTo(String value) {
            addCriterion("bu_password =", value, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordNotEqualTo(String value) {
            addCriterion("bu_password <>", value, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordGreaterThan(String value) {
            addCriterion("bu_password >", value, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("bu_password >=", value, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordLessThan(String value) {
            addCriterion("bu_password <", value, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordLessThanOrEqualTo(String value) {
            addCriterion("bu_password <=", value, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordLike(String value) {
            addCriterion("bu_password like", value, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordNotLike(String value) {
            addCriterion("bu_password not like", value, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordIn(List<String> values) {
            addCriterion("bu_password in", values, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordNotIn(List<String> values) {
            addCriterion("bu_password not in", values, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordBetween(String value1, String value2) {
            addCriterion("bu_password between", value1, value2, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuPasswordNotBetween(String value1, String value2) {
            addCriterion("bu_password not between", value1, value2, "buPassword");
            return (Criteria) this;
        }

        public Criteria andBuSaltIsNull() {
            addCriterion("bu_salt is null");
            return (Criteria) this;
        }

        public Criteria andBuSaltIsNotNull() {
            addCriterion("bu_salt is not null");
            return (Criteria) this;
        }

        public Criteria andBuSaltEqualTo(String value) {
            addCriterion("bu_salt =", value, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltNotEqualTo(String value) {
            addCriterion("bu_salt <>", value, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltGreaterThan(String value) {
            addCriterion("bu_salt >", value, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltGreaterThanOrEqualTo(String value) {
            addCriterion("bu_salt >=", value, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltLessThan(String value) {
            addCriterion("bu_salt <", value, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltLessThanOrEqualTo(String value) {
            addCriterion("bu_salt <=", value, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltLike(String value) {
            addCriterion("bu_salt like", value, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltNotLike(String value) {
            addCriterion("bu_salt not like", value, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltIn(List<String> values) {
            addCriterion("bu_salt in", values, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltNotIn(List<String> values) {
            addCriterion("bu_salt not in", values, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltBetween(String value1, String value2) {
            addCriterion("bu_salt between", value1, value2, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuSaltNotBetween(String value1, String value2) {
            addCriterion("bu_salt not between", value1, value2, "buSalt");
            return (Criteria) this;
        }

        public Criteria andBuNicknameIsNull() {
            addCriterion("bu_nickname is null");
            return (Criteria) this;
        }

        public Criteria andBuNicknameIsNotNull() {
            addCriterion("bu_nickname is not null");
            return (Criteria) this;
        }

        public Criteria andBuNicknameEqualTo(String value) {
            addCriterion("bu_nickname =", value, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameNotEqualTo(String value) {
            addCriterion("bu_nickname <>", value, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameGreaterThan(String value) {
            addCriterion("bu_nickname >", value, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameGreaterThanOrEqualTo(String value) {
            addCriterion("bu_nickname >=", value, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameLessThan(String value) {
            addCriterion("bu_nickname <", value, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameLessThanOrEqualTo(String value) {
            addCriterion("bu_nickname <=", value, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameLike(String value) {
            addCriterion("bu_nickname like", value, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameNotLike(String value) {
            addCriterion("bu_nickname not like", value, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameIn(List<String> values) {
            addCriterion("bu_nickname in", values, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameNotIn(List<String> values) {
            addCriterion("bu_nickname not in", values, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameBetween(String value1, String value2) {
            addCriterion("bu_nickname between", value1, value2, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuNicknameNotBetween(String value1, String value2) {
            addCriterion("bu_nickname not between", value1, value2, "buNickname");
            return (Criteria) this;
        }

        public Criteria andBuPhoneIsNull() {
            addCriterion("bu_phone is null");
            return (Criteria) this;
        }

        public Criteria andBuPhoneIsNotNull() {
            addCriterion("bu_phone is not null");
            return (Criteria) this;
        }

        public Criteria andBuPhoneEqualTo(String value) {
            addCriterion("bu_phone =", value, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneNotEqualTo(String value) {
            addCriterion("bu_phone <>", value, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneGreaterThan(String value) {
            addCriterion("bu_phone >", value, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("bu_phone >=", value, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneLessThan(String value) {
            addCriterion("bu_phone <", value, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneLessThanOrEqualTo(String value) {
            addCriterion("bu_phone <=", value, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneLike(String value) {
            addCriterion("bu_phone like", value, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneNotLike(String value) {
            addCriterion("bu_phone not like", value, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneIn(List<String> values) {
            addCriterion("bu_phone in", values, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneNotIn(List<String> values) {
            addCriterion("bu_phone not in", values, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneBetween(String value1, String value2) {
            addCriterion("bu_phone between", value1, value2, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhoneNotBetween(String value1, String value2) {
            addCriterion("bu_phone not between", value1, value2, "buPhone");
            return (Criteria) this;
        }

        public Criteria andBuPhotoIsNull() {
            addCriterion("bu_photo is null");
            return (Criteria) this;
        }

        public Criteria andBuPhotoIsNotNull() {
            addCriterion("bu_photo is not null");
            return (Criteria) this;
        }

        public Criteria andBuPhotoEqualTo(String value) {
            addCriterion("bu_photo =", value, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoNotEqualTo(String value) {
            addCriterion("bu_photo <>", value, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoGreaterThan(String value) {
            addCriterion("bu_photo >", value, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoGreaterThanOrEqualTo(String value) {
            addCriterion("bu_photo >=", value, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoLessThan(String value) {
            addCriterion("bu_photo <", value, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoLessThanOrEqualTo(String value) {
            addCriterion("bu_photo <=", value, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoLike(String value) {
            addCriterion("bu_photo like", value, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoNotLike(String value) {
            addCriterion("bu_photo not like", value, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoIn(List<String> values) {
            addCriterion("bu_photo in", values, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoNotIn(List<String> values) {
            addCriterion("bu_photo not in", values, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoBetween(String value1, String value2) {
            addCriterion("bu_photo between", value1, value2, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuPhotoNotBetween(String value1, String value2) {
            addCriterion("bu_photo not between", value1, value2, "buPhoto");
            return (Criteria) this;
        }

        public Criteria andBuBak1IsNull() {
            addCriterion("bu_bak1 is null");
            return (Criteria) this;
        }

        public Criteria andBuBak1IsNotNull() {
            addCriterion("bu_bak1 is not null");
            return (Criteria) this;
        }

        public Criteria andBuBak1EqualTo(String value) {
            addCriterion("bu_bak1 =", value, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1NotEqualTo(String value) {
            addCriterion("bu_bak1 <>", value, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1GreaterThan(String value) {
            addCriterion("bu_bak1 >", value, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1GreaterThanOrEqualTo(String value) {
            addCriterion("bu_bak1 >=", value, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1LessThan(String value) {
            addCriterion("bu_bak1 <", value, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1LessThanOrEqualTo(String value) {
            addCriterion("bu_bak1 <=", value, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1Like(String value) {
            addCriterion("bu_bak1 like", value, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1NotLike(String value) {
            addCriterion("bu_bak1 not like", value, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1In(List<String> values) {
            addCriterion("bu_bak1 in", values, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1NotIn(List<String> values) {
            addCriterion("bu_bak1 not in", values, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1Between(String value1, String value2) {
            addCriterion("bu_bak1 between", value1, value2, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak1NotBetween(String value1, String value2) {
            addCriterion("bu_bak1 not between", value1, value2, "buBak1");
            return (Criteria) this;
        }

        public Criteria andBuBak2IsNull() {
            addCriterion("bu_bak2 is null");
            return (Criteria) this;
        }

        public Criteria andBuBak2IsNotNull() {
            addCriterion("bu_bak2 is not null");
            return (Criteria) this;
        }

        public Criteria andBuBak2EqualTo(String value) {
            addCriterion("bu_bak2 =", value, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2NotEqualTo(String value) {
            addCriterion("bu_bak2 <>", value, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2GreaterThan(String value) {
            addCriterion("bu_bak2 >", value, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2GreaterThanOrEqualTo(String value) {
            addCriterion("bu_bak2 >=", value, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2LessThan(String value) {
            addCriterion("bu_bak2 <", value, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2LessThanOrEqualTo(String value) {
            addCriterion("bu_bak2 <=", value, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2Like(String value) {
            addCriterion("bu_bak2 like", value, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2NotLike(String value) {
            addCriterion("bu_bak2 not like", value, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2In(List<String> values) {
            addCriterion("bu_bak2 in", values, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2NotIn(List<String> values) {
            addCriterion("bu_bak2 not in", values, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2Between(String value1, String value2) {
            addCriterion("bu_bak2 between", value1, value2, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuBak2NotBetween(String value1, String value2) {
            addCriterion("bu_bak2 not between", value1, value2, "buBak2");
            return (Criteria) this;
        }

        public Criteria andBuStateIsNull() {
            addCriterion("bu_state is null");
            return (Criteria) this;
        }

        public Criteria andBuStateIsNotNull() {
            addCriterion("bu_state is not null");
            return (Criteria) this;
        }

        public Criteria andBuStateEqualTo(Byte value) {
            addCriterion("bu_state =", value, "buState");
            return (Criteria) this;
        }

        public Criteria andBuStateNotEqualTo(Byte value) {
            addCriterion("bu_state <>", value, "buState");
            return (Criteria) this;
        }

        public Criteria andBuStateGreaterThan(Byte value) {
            addCriterion("bu_state >", value, "buState");
            return (Criteria) this;
        }

        public Criteria andBuStateGreaterThanOrEqualTo(Byte value) {
            addCriterion("bu_state >=", value, "buState");
            return (Criteria) this;
        }

        public Criteria andBuStateLessThan(Byte value) {
            addCriterion("bu_state <", value, "buState");
            return (Criteria) this;
        }

        public Criteria andBuStateLessThanOrEqualTo(Byte value) {
            addCriterion("bu_state <=", value, "buState");
            return (Criteria) this;
        }

        public Criteria andBuStateIn(List<Byte> values) {
            addCriterion("bu_state in", values, "buState");
            return (Criteria) this;
        }

        public Criteria andBuStateNotIn(List<Byte> values) {
            addCriterion("bu_state not in", values, "buState");
            return (Criteria) this;
        }

        public Criteria andBuStateBetween(Byte value1, Byte value2) {
            addCriterion("bu_state between", value1, value2, "buState");
            return (Criteria) this;
        }

        public Criteria andBuStateNotBetween(Byte value1, Byte value2) {
            addCriterion("bu_state not between", value1, value2, "buState");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}